package com.yangyang.androidconnect.util;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.IOFileFilter;
import java.io.File;
import java.util.*;

public class FileTraverserWithUtils {
    public static List<File> listFilesSortedByCreationTime(String... directories) {
        List<File> allFiles = new ArrayList<>();

        // 创建过滤器：排除以.开头的文件和目录
        IOFileFilter notHiddenFiles = FileFilterUtils.notFileFilter(
            FileFilterUtils.prefixFileFilter(".")
        );

        IOFileFilter notHiddenDirs = FileFilterUtils.notFileFilter(
            FileFilterUtils.prefixFileFilter(".")
        );

        for (String dir : directories) {
            File directory = new File(dir);
            if (directory.exists()) {
                Collection<File> files = FileUtils.listFiles(
                    directory,
                    notHiddenFiles,  // 文件过滤器
                    notHiddenDirs    // 目录过滤器
                );
                allFiles.addAll(files);
            }
        }

        // 排序
        allFiles.sort((f1, f2) -> Long.compare(f2.lastModified(), f1.lastModified()));

        return allFiles;
    }
}